﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sociedad.BL;
using Sociedad.DAL;
using System.Net.Mail;

public partial class SOA_BandejaWF_BandejaEvaluador : System.Web.UI.Page
{
    WfTipoDocumentoBL blTipDocWF = new WfTipoDocumentoBL();
    WfDocumentoBL blDocWF = new WfDocumentoBL();
    
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsPostBack)
            {
                Inicializar();
            }
            else
            {
                lblMsj.Visible = false;
            }
        }
        catch (Exception ex)
        {
            lblMsj.Text = "Se produjo un error al intentar cargar los datos, volver a intentar.";
            lblMsj.ForeColor = System.Drawing.Color.Red;
            lblMsj.Visible = true;      
        }
    }

    private void Inicializar()
    {
        // Cargar tipo de documento WF
        List<Wfs_TipoDocumento> lstTipDocWF = new List<Wfs_TipoDocumento>();
        Wfs_TipoDocumento beTipDoc = new Wfs_TipoDocumento();
        beTipDoc.ctdo_Codigo = "T";
        beTipDoc.ctdo_Descripción = "<Todos>";
        lstTipDocWF = blTipDocWF.Listar_TipoDocumentoWF();
        List<Wfs_TipoDocumento> lstTipDocWF1 = new List<Wfs_TipoDocumento>();
        lstTipDocWF.Add(beTipDoc);
        for (int i = 1; i <= lstTipDocWF.Count(); i++)
        {
            lstTipDocWF1.Add(lstTipDocWF[i - 1]);
        }
        ddlTipDocWF.DataSource = lstTipDocWF1;
        ddlTipDocWF.DataTextField = "ctdo_Descripción";
        ddlTipDocWF.DataValueField = "ctdo_Codigo";
        ddlTipDocWF.SelectedValue = "T";
        ddlTipDocWF.DataBind();

        CargarGrilla();
    }

    private void CargarGrilla()
    {
        grvListaBandeja.DataSource = blDocWF.Listar_DocumentosBandeja(Constantes.documento_BandejaSupervisor, ddlTipDocWF.SelectedValue);
        grvListaBandeja.DataBind();
    }

    protected void imb_Cerrar_Click(object sender, ImageClickEventArgs e)
    {
        Response.Redirect("~/Principal.aspx");
    }
    protected void ddlTipDocWF_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            CargarGrilla();
        }
        catch (Exception ex)
        {
            lblMsj.Text = "Se produjo un error al intentar cargar los datos, volver a intentar.";
            lblMsj.ForeColor = System.Drawing.Color.Red;
            lblMsj.Visible = true;      
        }
    }

    protected void imbEvaluar_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            GridViewRow rowSel = grvListaBandeja.SelectedRow;
            if (rowSel == null)
            {
                modalPopupSelect.Show();
            }
            else
            {
                String TipDoc = rowSel.Cells[0].Text;
                switch (TipDoc)
                {
                    case Constantes.wfTipDoc_SolicitudInscripcion: // Solicitud de Inscripción
                        Session[Constantes.session_Codigo_SolicitudInscripcion] = rowSel.Cells[1].Text;
                        Response.Redirect("Evaluar_SolicitudInscripcion.aspx");
                        break;
                    case Constantes.wfTipDoc_RegistroLegajo: // Solicitud de Inscripción
                        Session[Constantes.session_Codigo_RegistroLegajo] = rowSel.Cells[1].Text;
                        Response.Redirect("Evaluar_RegistroLegajo.aspx");
                        break;
                    case Constantes.wfTipDoc_SolicitudDesignacion: // Solicitud de Designación
                        Session[Constantes.session_Codigo_SolicitudDesignacion] = rowSel.Cells[1].Text;
                        Response.Redirect("Evaluar_SolicitudDesignacion.aspx");
                        break;
                    default:
                        lblMsj.Text = "Documento no registrado, confirme con el área de sistemas.";
                        lblMsj.ForeColor = System.Drawing.Color.Blue;
                        lblMsj.Visible = true;    
                        break;
                }

            }
        }
        catch (Exception ex)
        {
            lblMsj.Text = "Se produjo un error inesperado, volver a intentar.";
            lblMsj.ForeColor = System.Drawing.Color.Red;
            lblMsj.Visible = true;      
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //XmlConfigurator.Configure();
        //var logger = LogManager.GetLogger("Notify");
        //logger.Info("Test soa");

        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

            mail.From = new MailAddress("apizarro2012@gmail.com");
            mail.To.Add("apizarro2012@gmail.coms");
            mail.Subject = "Notificación - Sistema SOA";

            mail.IsBodyHtml = true;
            string htmlBody;

            var html = System.Xml.Linq.XDocument.Parse("<table border = \"0\" cellpadding = \"2\" cellspacing = \"0\" style=\"width:100%\">" +
    	                                               "     <tr>" +
        	                                           "         <td style=\"font-size:9px; color:#008000\" align=\"center\">" +
            	                                       "             *** ESTE ES UN CORREO DESATENDIDO, NO RESPONDER ***" +
                                                       "         </td>" +
                                                       "     </tr>" +
                                                       " </table>" );
            //var text = Html2Text(html);

            htmlBody = html.ToString();

            mail.Body = htmlBody;

            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("", "");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);

            //MailMessage mail1 = new MailMessage();
            //SmtpClient SmtpServer1 = new SmtpClient("192.168.1.50");

            //mail1.From = new MailAddress("user@soa.net");
            //mail1.To.Add("masteraplication@soa.net");
            //mail1.Subject = "Notificación - Sistema SOA";

            //mail1.IsBodyHtml = true;
            //string htmlBody1;

            //htmlBody1 = "<b>Write some HTML code here</b> Bien...";

            //mail1.Body = htmlBody1;

            //SmtpServer1.Port = 25;
            //SmtpServer1.Credentials = new System.Net.NetworkCredential("masteraplication", "admin");
            //SmtpServer1.EnableSsl = true;

            //SmtpServer1.Send(mail1);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }

    }


}